package stack

type Stack struct {
	mem []int
	//栈的大小
	size int
}

func (s *Stack) IsEmpty() bool {
	return s.size == 0
}

func (s *Stack) Top() int {
	if s.IsEmpty() {
		panic("stack is error")
	}else{
		return s.mem[s.size - 1]
	}
}

func (s *Stack) Push(a int) {
	s.mem = append(s.mem, a)
	s.size++
}

func (s *Stack) Pop() int {
	if s.IsEmpty() {
		panic("stack is error")
	}else{
		s.size--
		return s.mem[s.size]
	}
}
